Failed 2U/2D + 50% Retrace Scanner📈 Multi-Ticker Failed 2U/2D Scanner with Daily Retrace & Market Breadth Table
This TradingView indicator is a multi-symbol price action scanner designed to catch high-probability reversal signals using The Strat’s failed 2U/2D patterns and daily 50% retrace logic, while also displaying market breadth metrics ( USI:TICK and USI:ADD ) for context.
Monitored Symbols:
SPY, SPX, QQQ, IWM, NVDA, AMD, AAPL, META, MSTR
🔍 Detection Logic
1. Failed 2U / Failed 2D Setups
Failed 2U: Price breaks above the previous candle’s high but closes back below the open → Bearish reversal
Failed 2D: Price breaks below the previous candle’s low but closes back above the open → Bullish reversal
Timeframes Monitored:
🕐 1-Hour (1H)
⏰ 4-Hour (4H)
2. Daily 50% Candle Retrace
Checks if price has retraced 50% or more of the previous day’s candle body
Highlights potential trend exhaustion or reversal confluence
3. Market Breadth Metrics (Display Only)
USI:TICK : Measures real-time NYSE up vs. down ticks
USI:ADD : Advance-Decline Line (net advancing stocks)
Not used in signal logic — just displayed in the table for overall market context
🖼️ Visual Elements
✅ Chart Markers
🔺 Red/Green Arrows for 1H Failed 2U/2D
🟨 Yellow Squares for 4H Failed 2U/2D
Visual markers are plotted directly on the relevant candles
📊 Signal Table
Lists all 9 tickers in rows
Columns for:
1H Signal
4H Signal
Daily 50% Retrace
USI:TICK Value
USI:ADD Value
Color-Coded Cells:
🔴 Red = Failed 2U
🟢 Green = Failed 2D
⚠️ Highlight if 50% Daily Retrace condition is true
🟦 Neutral-colored cells for TICK/ADD numeric display
🔔 Alerts
Hardcoded alerts fire when:
A 1H or 4H Failed 2U/2D is detected
The Daily 50% retrace condition is met
Each alert is labeled clearly by symbol and timeframe:
"META 4H Failed 2D"
"AAPL Daily 50% Retrace"
🎯 Use Case
Built for:
Reversal traders using The Strat
Swing or intraday traders watching hourly setups
Traders wanting quick visual context on market breadth without relying on it for confirmation
Monitoring multiple tickers in one clean view
This is scan 2
Add scan 1 for spx, spy, iwm, qqq, aapl
This indicator is not financial advice. Use the alerts to check out chart and when tickers trigger.
在腳本中搜尋"the strat"
Timeshifter Triple Timeframe Strategy w/ SessionsOverview
The "Enhanced Timeshifter Triple Timeframe Strategy with Session Filtering" is a sophisticated trading strategy designed for the TradingView platform. It integrates multiple technical indicators across three different timeframes and allows traders to customize their trading Sessions. This strategy is ideal for traders who wish to leverage multi-timeframe analysis and session-based trading to enhance their trading decisions.
Features
Multi-Timeframe Analysis and direction:
Higher Timeframe: Set to a daily timeframe by default, providing a broader view of market trends.
Trading Timeframe: Automatically set to the current chart timeframe, ensuring alignment with the trader's primary analysis period.
Lower Timeframe: Set to a 15-minute timeframe by default, offering a granular view for precise entry and exit points.
Indicator Selection:
RMI (Relative Momentum Index): Combines RSI and MFI to gauge market momentum.
TWAP (Time Weighted Average Price): Provides an average price over a specified period, useful for identifying trends.
TEMA (Triple Exponential Moving Average): Reduces lag and smooths price data for trend identification.
DEMA (Double Exponential Moving Average): Similar to TEMA, it reduces lag and provides a smoother trend line.
MA (Moving Average): A simple moving average for basic trend analysis.
MFI (Money Flow Index): Measures the flow of money into and out of a security, useful for identifying overbought or oversold conditions.
VWMA (Volume Weighted Moving Average): Incorporates volume data into the moving average calculation.
PSAR (Parabolic SAR): Identifies potential reversals in price movement.
Session Filtering:
London Session: Trade during the London market hours (0800-1700 GMT+1).
New York Session: Trade during the New York market hours (0800-1700 GMT-5).
Tokyo Session: Trade during the Tokyo market hours (0900-1800 GMT+9).
Users can select one or multiple sessions to align trading with specific market hours.
Trade Direction:
Long: Only long trades are permitted.
Short: Only short trades are permitted.
Both: Both long and short trades are permitted, providing flexibility based on market conditions.
ADX Confirmation:
ADX (Average Directional Index): An optional filter to confirm the strength of a trend before entering a trade.
How to Use the Script
Setup:
Add the script to your TradingView chart.
Customize the input parameters according to your trading preferences and strategy requirements.
Indicator Selection:
Choose the primary indicator you wish to use for generating trading signals from the dropdown menu.
Enable or disable the ADX confirmation based on your preference for trend strength analysis.
Session Filtering:
Select the trading sessions you wish to trade in. You can choose one or multiple Sessions based on your trading strategy and market focus.
Trade Direction:
Set your preferred trade direction (Long, Short, or Both) to align with your market outlook and risk tolerance. You can use this feature to gauge the market and understand the possible directions.
Tips for Profitable and Safe Trading:
Recommended Timeframes Combination:
LT: 1m , CT: 5m, HT: 1H
LT: 1-5m , CT: 15m, HT: 4H
LT: 5-15m , CT: 4H, HT: 1W
Backtesting:
Always backtest the strategy on historical data to understand its performance under various market conditions.
Adjust the parameters based on backtesting results to optimize the strategy for your specific trading style.
Risk Management:
Use appropriate risk management techniques, such as setting stop-loss and take-profit levels, to protect your capital.
Avoid over-leveraging and ensure that you are trading within your risk tolerance.
Market Analysis:
Combine the script with other forms of market analysis, such as fundamental analysis or market sentiment, to make well-rounded trading decisions.
Stay informed about major economic events and news that could impact market volatility and trading sessions.
Continuous Monitoring:
Regularly monitor the strategy's performance and make adjustments as necessary.
Keep an eye on the results and settings for real-time statistics and ensure that the strategy aligns with current market conditions.
Education and Practice:
Continuously educate yourself on trading strategies and market dynamics.
Practice using the strategy in a demo account before applying it to live trading to gain confidence and understanding.
Inside Bar Detector - 15min
🔍 What is an Inside Bar?
An **Inside Bar** is a candle that forms **entirely within the high and low of the previous candle**. It represents **consolidation**, **indecision**, or **potential reversal**, and is a key signal in The Strat trading method.
🔧 What the Script Does:
1. **Timeframe Restriction**:
* The script activates **only on the 15-minute timeframe**, avoiding clutter on other timeframes.
2. **Inside Bar Logic**:
* It checks whether the **current bar’s high is lower than the previous bar’s high**, **AND** the **current bar’s low is higher than the previous bar’s low**.
* If both conditions are true, it confirms an Inside Bar.
3. **Visual Display**:
* When an Inside Bar is detected, the script **plots a yellow label ("1") above the bar**.
* The label represents the Strat 1-bar and helps you easily spot potential setups.
🎯 Use Case:
* Ideal for **Strat traders**, **price action analysts**, or **any trader** looking for breakout or reversal opportunities.
* Common setups include **1-2**, **1-3**, or **double inside bar** breakouts.
NA GPT - TTM Squeeze Strategy**NA GPT - TTM Squeeze Strategy**” transforms the well-known TTM Squeeze indicator into a back-testable, long-only strategy.
It combines **volatility compression** (Bollinger Bands inside Keltner Channels) with **momentum confirmation** to catch powerful bullish breakouts and then trails positions with a simple 21-period moving-average stop.
---
## 1. Core Concepts & Calculations
| Component | What it measures | How it works |
| ---------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Squeeze State** | Volatility contraction vs. expansion | • Calculate a 20-period Bollinger Band (BB). • Calculate a 20-period Keltner Channel (KC). • **Squeeze ON** when the entire BB is *inside* the KC (narrow volatility). |
| **Momentum Histogram** | Direction & strength of pressure building inside the squeeze | • Compute the midpoint of the recent high/low range and the 20-period SMA of close. • Take the price’s deviation from that blended average. • Fit a **20-period linear regression** to that deviation to produce the histogram. • Color logic: ↗ increasing green/lime for strengthening bulls, ↘ red/maroon for bears. |
| **Blue-Dot Theme** | Visual cue of squeeze state | • **Navy-blue dot** = Squeeze ON (ready to pop). • **Steel-blue dot** = Squeeze just released. • **Sky-blue dot** = Neutral (no squeeze). |
---
## 2. Trade Logic
| Step | Condition | Rationale |
| ---------------- | ------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Entry (Long)** | Three consecutive navy-blue dots (i.e., **3 bars with Squeeze ON in a row**) *inside the user-defined date window*. | Requires sustained volatility compression before committing capital, filtering out one-bar “fake” squeezes. |
| **Exit (Flat)** | Close price **crosses below** the 21-period Simple Moving Average. | A classic trailing stop that lets profits run while cutting momentum failures. |
| **Positioning** | Long-only, one trade at a time. No short sales. | Focuses on bullish breakouts, keeps strategy simple and margin-friendly. |
---
## 3. Inputs & Customisation
| Input | Default | Purpose |
| -------------------------- | ------------------------ | ---------------------------------------------- |
| **BB Length / Multiplier** | 20 / 2.0 | Adjust sensitivity of Bollinger Bands. |
| **KC Length / Multiplier** | 20 / 1.5 | Adjust Keltner Channel width. |
| **Use True Range (KC)** | ✔ | Pick *True Range* vs. *High-Low* for KC width. |
| **Trade Window** | 1 Jan 2022 → 31 Dec 2069 | Back-test only the period you care about. |
| **Commission** | 0.01 % | Embedded in `strategy()` header. |
| **Slippage (Ticks)** | 3 | Models real-world order fill uncertainty. |
---
## 4. Visual Outputs
* **Momentum Histogram** (green / lime / red / maroon).
* **Zero Line** colored by squeeze state (blue / dark navy / grey).
* **Blue-Dot Row** at the chart bottom showing squeeze timing.
The visuals are **identical** to the original indicator, letting you correlate back-test trades with familiar chart cues.
---
## 5. How to Use
1. **Add to chart**, choose your symbol & timeframe (works on anything from 1-minute to weekly).
2. **Tune the BB/KC/ATR settings** to match instrument volatility.
3. **Adjust the date window** for focused walk-forward testing.
4. Run the “**Strategy Tester**” to inspect historical performance, P\&L; curves, drawdowns, and trade list.
5. Use the plotted dots & histogram to visually validate why each trade fired.
6. Combine with your own risk-management (position sizing, portfolio filters, etc.) before going live.
---
## 6. Practical Notes
* Designed for educational/back-testing purposes—**not financial advice**.
* Long-only by design; add your own short logic if desired.
* Because exits rely on the 21-SMA, extremely low-volume instruments or illiquid intraday timeframes may experience wider drawdowns.
* Commission/slippage values are easily editable in the first line of the script.
BOLL + RSI 趋势信号📘 Strategy Name
BOLL + RSI Dot Cluster Strategy (Unfiltered Base Version)
⸻
🎯 Overview
This strategy combines Bollinger Bands (BOLL) with the Relative Strength Index (RSI) to identify short-term overbought and oversold conditions. By detecting when price breaks out of the BOLL channels and confirming with RSI extremes, the strategy generates buy/sell signals with graded strength, visualized through stacked colored dots on the chart.
⸻
🔍 Core Logic
🟢 Buy Signal Conditions:
• Price closes below the lower Bollinger Band, indicating potential market oversold conditions or capitulation;
• RSI is below the oversold threshold (default: 30), confirming technical oversold status;
• When both conditions are met, a buy signal is generated.
🔴 Sell Signal Conditions:
• Price closes above the upper Bollinger Band, suggesting a sharp short-term rally;
• RSI is above the overbought threshold (default: 70), confirming technical overbought status;
• When both conditions are satisfied, a sell signal is triggered.
⸻
📊 Signal Strength Scoring System
Each signal is scored from 1 to 5 based on:
Dimension Logic Score Range
RSI Score Based on how extreme the RSI is (e.g. >90 or <10 scores highest) 1–5
Price Distance Score Based on the percentage deviation of the current price from the Bollinger middle band 1–5
• The final signal strength is the average of both scores (rounded), capped at 5.
• Signals are visualized as 1 to 5 stacked dots (green for buy, red for sell) above or below the candles.
⸻
🧭 Use Cases & Suitability
• Designed as a visual manual trading aid;
• Can serve as a signal confirmation module for other strategies;
• Particularly suited for volatile assets such as BTC, ETH, altcoins, and momentum stocks;
• Works well on 1H, 4H, or daily charts;
• Not recommended for blindly shorting during strong uptrends (unless used with stop-loss logic).
⸻
⚠️ Key Characteristics & Limitations
• This is a base version — no trend filters, cooldown mechanisms, or lockouts are applied;
• May generate consecutive opposite signals during strong trends (e.g., repeated sell signals during an uptrend);
• Users are encouraged to customize or enhance this strategy with:
• Trend filters (e.g., EMA, MACD);
• Cooldown intervals;
• Volume or divergence confirmations;
• All signals are probabilistic and do not constitute financial advice.
⸻
🔔 Visual Guide
• Green dots stacked below candles represent buy signals;
• Red dots stacked above candles represent sell signals;
• The number of dots = signal strength (1–5);
• Bollinger Bands are plotted in white, the midline in yellow, with a subtle white background channel.
RSI Divergence StrategyOverview
The RSI Divergence Strategy Indicator is a trading tool that uses the RSI and divergences created to generate high-probability buy and sell signals.
I have provided the best formula of numbers to use for BTC on a 30 minute timeframe.
You can change where on RSI you enter and exit both long or short trades. This way you can experiment on different tokens using different entry/exit points. Can use on multiple timeframes.
This strategy is designed to open and close long or short trades based on the levels you provide it. You can then check on the RSI where the best levels are for each token you want to trade and amend it as required to generate a profitable strategy.
How It Works
The RSI Divergence Strategy Indicator uses bear and bull divergences in conjuction with a level you have input on the RSI.
RSI for Overbought/Oversold:
• Input variables for entry and exit levels and when the entry levels combine with a bear or bull divergence signal, a trade is alerted.
RSI Divergence:
• Buy and sell signals are confirmed when the RSI creates bearish or bullish divergences and these divergences are in the same area as your levels you input for entry to short or long.
After 7 years of experience and testing I have calculated the exact numbers required and produced a formula to calculate the exact input variables for a 30 minute Bitcoin chart.
Key Features
1️⃣ Divergence Identification – Ensures trades are taken only when a bull or bear divergence has formed.
2️⃣ Overbought/Oversold Input Filtering – Set up your own variables on the RSI for different markets after identifying patterns on the RSI in relation to a bearish or bullish divergence.
3️⃣ Works on any chart – Suitable for all markets and timeframes once you input the correct variables for entry and exit levels.
How to Use
🟢 Basic Trading:
• Use on any timeframe.
• Enter trade only when alert has fired off. Close when it says to exit.
• Change entry and exit levels in the properties of the strategy indicator.
• Make entry and exit levels coincide with bearish or bullish divergences on the RSI.
Check the strategy tester to see backtesting so you know if the indicator is profitable or not for that market and timeframe as each crypto token is different and so is the timeframe you choose.
📢 Webhook Automation:
• Set up TradingView Alerts to auto-execute trades via Webhook-compatible platforms.
Key additions for divergence visualization:
Divergence Arrows:
Bullish divergence: Green label with white 'bull ' text
Bearish divergence: Red label with white 'bear' text
Positioned at the pivot point
Divergence Lines:
Connects consecutive RSI pivot points
Automatically drawn between consecutive pivot points
Enhanced RSI Coloring:
Overbought zone: Red
Oversold zone: Green
Neutral zone: Gray
The visualization helps you instantly spot:
Where divergences are forming on the RSI
The pattern of higher lows (bullish) or lower highs (bearish)
Contextual coloring of RSI relative to standard levels
All divergence markers appear at the correct historical pivot points, making it easy to visually confirm divergence patterns as they develop.
Strategy levels and background zones also shown to help visual look.
Why This Combination?
This indicator is just a simple RSI tool.
It is designed to filter out weak trades and only execute trades that have:
✅ RSI Divergence
✅ Overbought or Oversold Conditions
It does not calculate downtrends or bear markets so care is recommended taking long trades during these times.
Why It’s Worth Using?
📈 Open Source – Free to use and learn from.
📉 Long or Short Term Trading Style – Entry/Exit parameters options are designed for both short or long term trades allowing you to experiment until you find a profitable strategy for that market you want to trade.
📢 Seamless Webhook Automation – Execute trades automatically with TradingView alerts.
💲 Ready to trade smarter?
✅ Add the RSI Divergence Strategy Indicator to your TradingView chart.
EMA 50/200 Pullback + RSI/SMA RSI
Strategy Description: EMA 50/200 Pullback + RSI/SMA RSI
1. Trend Identification with EMA:
Uses two Exponential Moving Averages (EMA): a fast EMA (default 50) and a slow EMA (default 200).
When the fast EMA crosses above the slow EMA (bullish crossover), an uptrend is identified.
When the fast EMA crosses below the slow EMA (bearish crossover), a downtrend is identified.
The lengths of both EMAs are fully customizable.
2. EMA Distance Condition:
Signals are only valid when the absolute percentage distance between the two EMAs is within a user-defined range (default: 0.4% to 1%).
This helps filter out weak signals when the EMAs are too close or too far apart.
3. Pullback Condition:
After a new trend is detected (EMA crossover), the strategy waits for the price to pull back to touch or cross the fast EMA (EMA 50).
This ensures entries are not taken immediately at the crossover, but after a retracement to a dynamic support/resistance area.
4. RSI Confirmation:
Uses the RSI indicator (default 14) and its Simple Moving Average (SMA RSI, default 14).
Buy signal: RSI crosses above its SMA.
Sell signal: RSI crosses below its SMA.
Both RSI and SMA RSI lengths are fully customizable.
5. Entry Rules:
The indicator only gives the first buy/sell signal after each EMA crossover (start of a new trend), and will not repeat signals until the next EMA crossover.
Buy signal:
Fast EMA crosses above slow EMA
EMA distance is within the valid range
Price pulls back to the fast EMA
RSI crosses above its SMA
Sell signal:
Fast EMA crosses below slow EMA
EMA distance is within the valid range
Price pulls back to the fast EMA
RSI crosses below its SMA
6. Customization:
All parameters (EMA lengths, RSI length, SMA RSI length, EMA distance range) can be adjusted in the indicator’s settings.
Note:
This is a signal indicator, not a complete trading strategy. For real trading, always combine with risk management and additional confirmations.
Zero Lag MACD + Kijun-sen + EOM StrategyThis strategy offers a robust approach to identifying high-probability trading opportunities in the fast-paced cryptocurrency markets, particularly on lower timeframes (e.g., 5-minute). It leverages the synergistic power of three distinct indicators to confirm entries, ensuring a disciplined approach to risk management.
Key Components:
Zero Lag MACD Enhanced Version 1.2: This core momentum indicator is used to identify precise shifts in trend and momentum, offering reduced lag compared to traditional MACD. Entry signals are filtered based on the histogram's position (below for buys, above for sells) to enhance signal reliability.
Kijun-sen (Ichimoku Cloud): Acting as a dynamic support/resistance and trend filter, the Kijun-sen line confirms the prevailing market direction. Long entries are confirmed when price is above Kijun-sen, and short entries when price is below.
Ease of Movement (EoM): This volume-based oscillator provides crucial confirmation of price movements by measuring the ease with which price changes. Positive EoM confirms buying pressure, while negative confirms selling pressure, adding an essential layer of validation to trade setups.
How it Works:
The strategy generates entry signals only when all three indicators align simultaneously:
For Long Entries: A Zero Lag MACD buy signal (crossover below histogram) must coincide with price trading above the Kijun-sen, and the Ease of Movement indicator being above its zero line.
For Short Entries: A Zero Lag MACD sell signal (crossover above histogram) must coincide with price trading below the Kijun-sen, and the Ease of Movement indicator being below its zero line.
Entries are executed at the open of the candle immediately following the signal confirmation.
Risk Management:
Disciplined risk management is paramount to this strategy:
Dynamic Stop-Loss: An Average True Range (ATR) based stop-loss is implemented, set at 2.5 times the current ATR. This adapts the stop-loss distance to market volatility, ensuring sensible risk sizing.
Fixed Take-Profit: A consistent Risk-to-Reward (R:R) ratio of 1:1.2 is applied for all trades, promoting stable profit realization.
Customization & Optimization:
The strategy is built with fully customizable input parameters for each indicator (MACD lengths, Kijun-sen period, ATR period, ATR multiplier, and Risk-to-Reward ratio). This allows users to fine-tune the strategy for different assets, timeframes, and market conditions, facilitating robust backtesting and optimization.
Disclaimer: Trading involves substantial risk and is not suitable for all investors. Past performance is not indicative of future results. This strategy is provided for educational and informational purposes only. Always use proper risk management and conduct your own due diligence.
Volatility Bias ModelVolatility Bias Model
Overview
Volatility Bias Model is a purely mathematical, non-indicator-based trading system that detects directional probability shifts during high volatility market phases. Rather than relying on classic tools like RSI or moving averages, this strategy uses raw price behavior and clustering logic to determine potential breakout direction based on recent market bias.
How It Works
Over a defined lookback window (default 10 bars), the strategy counts how many candles closed in the same direction (i.e., bullish or bearish).
Simultaneously, it calculates the price range during that window.
If volatility is above a minimum threshold and a clear directional bias is detected (e.g., >60% of closes are bullish), a trade is opened in the direction of that bias.
This approach assumes that when high volatility is coupled with directional closing consistency, the market is probabilistically more likely to continue in that direction.
ATR-based stop-loss and take-profit levels are applied, and trades auto-exit after 20 bars if targets are not hit.
Key Features
- 100% non-indicator-based logic
- Statistically-driven directional bias detection
- Works across all timeframes (1H, 4H, 1D)
- ATR-based risk management
- No pyramiding, slippage and commissions included
- Compatible with real-world backtesting conditions
Realism & Assumptions
To make this strategy more aligned with actual trading environments, it includes 0.05% commission per trade and a 1-point slippage on every entry and exit.
Additionally, position sizing is set at 10% of a $10,000 starting capital, and no pyramiding is allowed.
These assumptions help avoid unrealistic backtest results and make the performance metrics more representative of live conditions.
Parameter Explanation
Bias Window (10 bars): Number of past candles used to evaluate directional closings
Bias Threshold (0.60): Required ratio of same-direction candles to consider a bias valid
Minimum Range (1.5%): Ensures the market is volatile enough to avoid noise
ATR Length (14): Used to dynamically define stop-loss and target zones
Risk-Reward Ratio (2.0): Take-profit is set at twice the stop-loss distance
Max Holding Bars (20): Trades are closed automatically after 20 bars to prevent stagnation
Originality Note
Unlike common strategies based on oscillators or moving averages, this script is built on pure statistical inference. It models the market as a probabilistic process and identifies directional intent based on historical closing behavior, filtered by volatility. This makes it a non-linear, adaptive model grounded in real-world price structure — not traditional technical indicators.
Disclaimer
This strategy is for educational and experimental purposes only. It does not constitute financial advice. Always perform your own analysis and test thoroughly before applying with real capital.
MACD + RSI + EMA + BB + ATR Day Trading StrategyEntry Conditions and Signals
The strategy implements a multi-layered filtering approach to entry conditions, requiring alignment across technical indicators, timeframes, and market conditions .
Long Entry Requirements
Trend Filter: Fast EMA (9) must be above Slow EMA (21), price must be above Fast EMA, and higher timeframe must confirm uptrend
MACD Signal: MACD line crosses above signal line, indicating increasing bullish momentum
RSI Condition: RSI below 70 (not overbought) but above 40 (showing momentum)
Volume & Volatility: Current volume exceeds 1.2x 20-period average and ATR shows sufficient market movement
Time Filter: Trading occurs during optimal hours (9:30-11:30 AM ET) when market volatility is typically highest
Exit Strategies
The strategy employs multiple exit mechanisms to adapt to changing market conditions and protect profits :
Stop Loss Management
Initial Stop: Placed at 2.0x ATR from entry price, adapting to current market volatility
Trailing Stop: 1.5x ATR trailing stop that moves up (for longs) or down (for shorts) as price moves favorably
Time-Based Exits: All positions closed by end of trading day (4:00 PM ET) to avoid overnight risk
Best Practices for Implementation
Settings
Chart Setup: 5-minute timeframe for execution with 15-minute chart for trend confirmation
Session Times: Focus on 9:30-11:30 AM ET trading for highest volatility and opportunity
Volatility Pulse with Dynamic ExitVolatility Pulse with Dynamic Exit
Overview
This strategy, Volatility Pulse with Dynamic Exit, is designed to capture impulsive price moves following volatility expansions, while ensuring risk is managed dynamically. It avoids trades during low-volatility periods and uses momentum confirmation to enter positions. Additionally, it features a time-based forced exit system to limit overexposure.
How It Works
A position is opened when the current ATR (Average True Range) significantly exceeds its 20-period average, signaling a volatility expansion.
To confirm the move is directional and not random noise, the strategy checks for momentum: the close must be above/below the close of 20 bars ago.
Low volatility zones are filtered out to avoid chop and poor trade entries.
Upon entry, a dynamic stop-loss is set at 1x ATR, while take-profit is set at 2x ATR, offering a 2:1 reward-to-risk ratio.
If the position remains open for more than 42 bars, it is forcefully closed, even if targets are not hit. This prevents long-lasting, stagnant trades.
Key Features
✅ Volatility-based breakout detection
✅ Momentum confirmation filter
✅ Dynamic stop-loss and take-profit based on real-time ATR
✅ Time-based forced exit (42 bars max holding)
✅ Low-volatility environment filter
✅ Realistic settings with 0.05% commission and slippage included
Parameters Explanation
ATR Length (14): Captures recent volatility over ~2 weeks (14 candles).
Momentum Lookback (20): Ensures meaningful price move confirmation.
Volatility Expansion Threshold (0.5x): Strategy activates only when ATR is at least 50% above its average.
Minimum ATR Filter (1.0x): Avoids entries in tight, compressed market ranges.
Max Holding (42 bars): Trades are closed after 42 bars if no exit signal is triggered.
Risk-Reward (2.0x): Aiming for 2x ATR as profit for every 1x ATR risk.
Originality Note
While volatility and momentum have been used separately in many strategies, this script combines both with a time-based dynamic exit system. This exit rule, combined with an ATR-based filter to exclude low-activity periods, gives the system a practical edge in real-world use. It avoids classic rehashes and integrates real trading constraints for better applicability.
Disclaimer
This is a research-focused trading strategy meant for backtesting and educational purposes. Always use proper risk management and perform due diligence before applying to real funds.
SMA Backtest Optimizer [Mr_Rakun]The SMA Backtest Optimizer is a powerful Pine Script tool designed to systematically analyze and compare various Simple Moving Average (SMA) periods to identify the most profitable configuration for trading strategies. This indicator tests multiple SMA periods (from 10 to 100) using a crossover strategy where buys occur when price crosses above the SMA and sells when price crosses below it.
Key Features:
Tests 10 different SMA periods to determine optimal settings
Calculates profit/loss based on a defined starting capital
Tracks total profit and number of trades for each period
Visually highlights the best performing SMA on your chart
Displays comprehensive results in an easy-to-read table
Labels the chart with key performance metrics
This code serves as a core framework that traders can customize for their specific needs. You can easily modify the strategy parameters, test different technical indicators, adjust capital settings, or implement more complex entry/exit rules. The optimization methodology can be applied to virtually any trading approach you wish to evaluate.
Feel free to adapt this framework to test your own trading ideas and discover which parameters work best in different market conditions.
CANX MA Crossover© CanxStixTrader
Moving average crossover systems measure drift in the market. They are great strategies for time-limited traders. KEEP IT SIMPLE
This strategy works both for buys and sells using the reaction line to guide your position against the reactions.
HOW TO USE THE INDICATOR
1) Choose your market and timeframe.
2) Choose the length.
3) Choose the multiplier.
4) Choose if the strategy is long-only or bidirectional (longs & shorts).
TIPS
The strategy works best in bullish markets as that is the primary direction that market such as stocks, indexes and metals like to move.
- Increase the multiplier to reduce whipsaws
- Increase the length to take fewer trades
- Decrease the length to take more trades
- Try a Long-Only strategy to see if that performs better.
The base set up when you load the indicator is for the 1 minute chart on gold. We found that it also works well on the US Indexes. For other markets you may need to change the length and multiplier to suit the market and back test its results.
EMA 10/20/50 Alignment Strategy### 📘 **Strategy Name**
**EMA 10/20/50 Trend Alignment Strategy**
---
### 📝 **Description (for Publishing)**
This strategy uses the alignment of Exponential Moving Averages (EMAs) to identify strong bullish trends. It enters a long position when the short-term EMA is above the mid-term EMA, which is above the long-term EMA — a classic sign of trend strength.
#### 🔹 Entry Criteria:
* **EMA10 > EMA20 > EMA50**: A bullish alignment that signals momentum in an upward direction.
* The strategy enters a **long position** when this alignment occurs.
#### 🔹 Exit Criteria:
* The long position is closed when the EMA alignment breaks (i.e., the trend weakens or reverses).
#### 🔹 Additional Features:
* Includes a **date range filter**, allowing you to backtest the strategy over a specific period.
* Uses **100% of available capital** for each trade (position size auto-scales with account balance).
* No short positions, stop loss, or take profit are applied — this is a trend-following strategy meant to ride bullish moves.
---
### ✅ Best For:
* Traders looking for a **simple, trend-based entry system**
* Testing price momentum strategies during specific market regimes
* Visualizing EMA stacking patterns in historical data
The VoVix Experiment The VoVix Experiment
The VoVix Experiment is a next-generation, regime-aware, volatility-adaptive trading strategy for futures, indices, and more. It combines a proprietary VoVix (volatility-of-volatility) anomaly detector with price structure clustering and critical point logic, only trading when multiple independent signals align. The system is designed for robustness, transparency, and real-world execution.
Logic:
VoVix Regime Engine: Detects pre-move volatility anomalies using a fast/slow ATR ratio, normalized by Z-score. Only trades when a true regime spike is detected, not just random volatility.
Cluster & Critical Point Filters: Price structure and volatility clustering must confirm the VoVix signal, reducing false positives and whipsaws.
Adaptive Sizing: Position size scales up for “super-spikes” and down for normal events, always within user-defined min/max.
Session Control: Trades only during user-defined hours and days, avoiding illiquid or high-risk periods.
Visuals: Aurora Flux Bands (From another Original of Mine (Options Flux Flow): glow and change color on signals, with a live dashboard, regime heatmap, and VoVix progression bar for instant insight.
Backtest Settings
Initial capital: $10,000
Commission: Conservative, realistic roundtrip cost:
15–20 per contract (including slippage per side) I set this to $25
Slippage: 3 ticks per trade
Symbol: CME_MINI:NQ1!
Timeframe: 15 min (but works on all timeframes)
Order size: Adaptive, 1–2 contracts
Session: 5:00–15:00 America/Chicago (default, fully adjustable)
Why these settings?
These settings are intentionally strict and realistic, reflecting the true costs and risks of live trading. The 10,000 account size is accessible for most retail traders. 25/contract including 3 ticks of slippage are on the high side for MNQ, ensuring the strategy is not curve-fit to perfect fills. If it works here, it will work in real conditions.
Forward Testing: (This is no guarantee. I've provided these results to show that executions perform as intended. Test were done on Tradovate)
ALL TRADES
Gross P/L: $12,907.50
# of Trades: 64
# of Contracts: 186
Avg. Trade Time: 1h 55min 52sec
Longest Trade Time: 55h 46min 53sec
% Profitable Trades: 59.38%
Expectancy: $201.68
Trade Fees & Comm.: $(330.95)
Total P/L: $12,576.55
Winning Trades: 59.38%
Breakeven Trades: 3.12%
Losing Trades: 37.50%
Link: www.dropbox.com
Inputs & Tooltips
VoVix Regime Execution: Enable/disable the core VoVix anomaly detector.
Volatility Clustering: Require price/volatility clusters to confirm VoVix signals.
Critical Point Detector: Require price to be at a statistically significant distance from the mean (regime break).
VoVix Fast ATR Length: Short ATR for fast volatility detection (lower = more sensitive).
VoVix Slow ATR Length: Long ATR for baseline regime (higher = more stable).
VoVix Z-Score Window: Lookback for Z-score normalization (higher = smoother, lower = more reactive).
VoVix Entry Z-Score: Minimum Z-score for a VoVix spike to trigger a trade.
VoVix Exit Z-Score: Z-score below which the regime is considered decayed (exit).
VoVix Local Max Window: Bars to check for local maximum in VoVix (higher = stricter).
VoVix Super-Spike Z-Score: Z-score for “super” regime events (scales up position size).
Min/Max Contracts: Adaptive position sizing range.
Session Start/End Hour: Only trade between these hours (exchange time).
Allow Weekend Trading: Enable/disable trading on weekends.
Session Timezone: Timezone for session filter (e.g., America/Chicago for CME).
Show Trade Labels: Show/hide entry/exit labels on chart.
Flux Glow Opacity: Opacity of Aurora Flux Bands (0–100).
Flux Band EMA Length: EMA period for band center.
Flux Band ATR Multiplier: Width of bands (higher = wider).
Compliance & Transparency
* No hidden logic, no repainting, no pyramiding.
* All signals, sizing, and exits are fully explained and visible.
* Backtest settings are stricter than most real accounts.
* All visuals are directly tied to the strategy logic.
* This is not a mashup or cosmetic overlay; every component is original and justified.
Disclaimer
Trading is risky. This script is for educational and research purposes only. Do not trade with money you cannot afford to lose. Past performance is not indicative of future results. Always test in simulation before live trading.
Proprietary Logic & Originality Statement
This script, “The VoVix Experiment,” is the result of original research and development. All core logic, algorithms, and visualizations—including the VoVix regime detection engine, adaptive execution, volatility/divergence bands, and dashboard—are proprietary and unique to this project.
1. VoVix Regime Logic
The concept of “volatility of volatility” (VoVix) is an original quant idea, not a standard indicator. The implementation here (fast/slow ATR ratio, Z-score normalization, local max logic, super-spike scaling) is custom and not found in public TradingView scripts.
2. Cluster & Critical Point Logic
Volatility clustering and “critical point” detection (using price distance from a rolling mean and standard deviation) are general quant concepts, but the way they are combined and filtered here is unique to this script. The specific logic for “clustered chop” and “critical point” is not a copy of any public indicator.
3. Adaptive Sizing
The adaptive sizing logic (scaling contracts based on regime strength) is custom and not a standard TradingView feature or public script.
4. Time Block/Session Control
The session filter is a common feature in many strategies, but the implementation here (with timezone and weekend control) is written from scratch.
5. Aurora Flux Bands (From another Original of Mine (Options Flux Flow)
The “glowing” bands are inspired by the idea of volatility bands (like Bollinger Bands or Keltner Channels), but the visual effect, color logic, and integration with regime signals are original to this script.
6. Dashboard, Watermark, and Metrics
The dashboard, real-time Sharpe/Sortino, and VoVix progression bar are all custom code, not copied from any public script.
What is “standard” or “common quant practice”?
Using ATR, EMA, and Z-score are standard quant tools, but the way they are combined, filtered, and visualized here is unique. The structure and logic of this script are original and not a mashup of public code.
This script is 100% original work. All logic, visuals, and execution are custom-coded for this project. No code or logic is directly copied from any public or private script.
Use with discipline. Trade your edge.
— Dskyz, for DAFE Trading Systems
REVELATIONS (VoVix - PoC) REVELATIONS (VoVix - POC): True Regime Detection Before the Move
Let’s not sugarcoat it: Most strategies on TradingView are recycled—RSI, MACD, OBV, CCI, Stochastics. They all lag. No matter how many overlays you stack, every one of these “standard” indicators fires after the move is underway. The retail crowd almost always gets in late. That’s never been enough for my team, for DAFE, or for anyone who’s traded enough to know the real edge vanishes by the time the masses react.
How is this different?
REVELATIONS (VoVix - POC) was engineered from raw principle, structured to detect pre-move regime change—before standard technicals even light up. We built, tested, and refined VoVix to answer one hard question:
What if you could see the spike before the trend?
Here’s what sets this system apart, line-by-line:
o True volatility-of-volatility mathematics: It’s not just "ATR of ATR" or noise smoothing. VoVix uses normalized, multi-timeframe v-vol spikes, instantly detecting orderbook stress and "outlier" market events—before the chart shows them as trends.
o Purist regime clustering: Every trade is enabled only during coordinated, multi-filter regime stress. No more signals in meaningless chop.
o Nonlinear entry logic: No trade is ever sent just for a “good enough” condition. Every entry fires only if every requirement is aligned—local extremes, super-spike threshold, regime index, higher timeframe, all must trigger in sync.
o Adaptive position size: Your contracts scale up with event strength. Tiny size during nominal moves, max leverage during true regime breaks—never guesswork, never static exposure.
o All exits governed by regime decay logic: Trades are closed not just on price targets but at the precise moment the market regime exhausts—the hardest part of systemic trading, now solved.
How this destroys the lag:
Standard indicators (RSI, MACD, OBV, CCI, and even most “momentum” overlays) simply tell you what already happened. VoVix triggers as price structure transitions—anyone running these generic scripts will trade behind the move while VoVix gets in as stress emerges. Real alpha comes from anticipation, not confirmation.
The visuals only show what matters:
Top right, you get a live, live quant dashboard—regime index, current position size, real-time performance (Sharpe, Sortino, win rate, and wins). Bottom right: a VoVix "engine bar" that adapts live with regime stress. Everything you see is a direct function of logic driving this edge—no cosmetics, no fake momentum.
Inputs/Signals—explained carefully for clarity:
o ATR Fast Length & ATR Slow Length:
These are the heart of VoVix’s regime sensing. Fast ATR reacts to sharp volatility; Slow ATR is stability baseline. Lower Fast = reacts to every twitch; higher Slow = requires more persistent, “real” regime shifts.
Tip: If you want more signals or faster markets, lower ATR Fast. To eliminate noise, raise ATR Slow.
o ATR StdDev Window: Smoothing for volatility-of-volatility normalization. Lower = more jumpy, higher = only the cleanest spikes trigger.
Tip: Shorten for “jumpy” assets, raise for indices/futures.
o Base Spike Threshold: Think of this as your “minimum event strength.” If the current move isn’t volatile enough (normalized), no signal.
Tip: Higher = only biggest moves matter. Lower for more signals but more potential noise.
o Super Spike Multiplier: The “are you sure?” test—entry only when the current spike is this multiple above local average.
Tip: Raise for ultra-selective/swing-trading; lower for more active style.
Regime & MultiTF:
o Regime Window (Bars):
How many bars to scan for regime cluster “events.” Short for turbo markets, long for big swings/trends only.
o Regime Event Count: Only trade when this many spikes occur within the Regime Window—filters for real stress, not isolated ticks.
Tip: Raise to only ever trade during true breakouts/crashes.
o Local Window for Extremes:
How many bars to check that a spike is a local max.
Tip: Raise to demand only true, “clearest” local regime events; lower for early triggers.
o HTF Confirm:
Higher timeframe regime confirmation (like 45m on an intraday chart). Ensures any event you act on is visible in the broader context.
Tip: Use higher timeframes for only major moves; lower for scalping or fast regimes.
Adaptive Sizing:
o Max Contracts (Adaptive): The largest size your system will ever scale to, even on extreme event.
Tip: Lower for small accounts/conservative risk; raise on big accounts or when you're willing to go big only on outlier events.
o Min Contracts (Adaptive): The “toe-in-the-water.” Smallest possible trade.
Tip: Set as low as your broker/exchange allows for safety, or higher if you want to always have meaningful skin in the game.
Trade Management:
o Stop %: Tightness of your stop-loss relative to entry. Lower for tighter/safer, higher for more breathing room at cost of greater drawdown.
o Take Profit %: How much you'll hold out for on a win. Lower = more scalps. Higher = only run with the best.
o Decay Exit Sensitivity Buffer: Regime index must dip this far below the trading threshold before you exit for “regime decay.”
Tip: 0 = exit as soon as stress fails, higher = exits only on stronger confirmation regime is over.
o Bars Decay Must Persist to Exit: How long must decay be present before system closes—set higher to avoid quick fades and whipsaws.
Backtest Settings
Initial capital: $10,000
Commission: Conservative, realistic roundtrip cost:
15–20 per contract (including slippage per side) I set this to $25
Slippage: 3 ticks per trade
Symbol: CME_MINI:NQ1!
Timeframe: 1 min (but works on all timeframes)
Order size: Adaptive, 1–3 contracts
No pyramiding, no hidden DCA
Why these settings?
These settings are intentionally strict and realistic, reflecting the true costs and risks of live trading. The 10,000 account size is accessible for most retail traders. 25/contract including 3 ticks of slippage are on the high side for NQ, ensuring the strategy is not curve-fit to perfect fills. If it works here, it will work in real conditions.
Tip: Set to 1 for instant regime exit; raise for extra confirmation (less whipsaw risk, exits held longer).
________________________________________
Bottom line: Tune the sensitivity, selectivity, and risk of REVELATIONS by these inputs. Raise thresholds and windows for only the best, most powerful signals (institutional style); lower for activity (scalpers, fast cryptos, signals in constant motion). Sizing is always adaptive—never static or martingale. Exits are always based on both price and regime health. Every input is there for your control, not to sell “complexity.” Use with discipline, and make it your own.
This strategy is not just a technical achievement: It’s a statement about trading smarter, not just more.
* I went back through the code to make sure no the strategy would not suffer from repainting, forward looking, or any frowned upon loopholes.
Disclaimer:
Trading is risky and carries the risk of substantial loss. Do not use funds you aren’t prepared to lose. This is for research and informational purposes only, not financial advice. Backtest, paper trade, and know your risk before going live. Past performance is not a guarantee of future results.
Expect more: We’ll keep pushing the standard, keep evolving the bar until “quant” actually means something in the public code space.
Use with clarity, use with discipline, and always trade your edge.
— Dskyz , for DAFE Trading Systems
Order Block with BoSHere’s a professional and concise description you can use for publishing your **TradingView script** titled **"Order Block with BoS"**:
---
### 📌 **Description for TradingView Publication:**
**"Order Block with Break of Structure (BoS)"** is a powerful price action-based indicator designed to identify potential reversal zones and momentum shifts using **Order Block** detection combined with **Break of Structure (BoS)** confirmation.
### 🔍 **Key Features:**
* **Order Block Detection**: Highlights bullish and bearish order blocks using precise candle structure logic.
* **Break of Structure (BoS)**: Confirms structural breaks above swing highs or below swing lows to validate potential trend continuation or reversal.
* **Dynamic ATR Filter**: Uses a 14-period ATR with dynamic thresholds to confirm significant moves, filtering out weak breakouts.
* **Visual Aids**:
* Color-coded **boxes** to mark detected Order Blocks.
* **Arrows** at BoS confirmation points when ATR confirms strong momentum.
* Optional **dashed BoS lines** to show where price broke structure.
### ⚙️ **Customizable Inputs**:
* `Swing Length`: Defines the sensitivity of swing high/low detection.
* `Show Break of Structure`: Toggle on/off BoS confirmation lines.
* `Candle Lookback`: Number of historical candles to consider.
This indicator is ideal for traders who incorporate **smart money concepts**, **market structure analysis**, or **institutional order flow** strategies.
---
Would you like me to help write the **strategy** version of this or translate the description into another language for international audiences?
Stochastic RSI with MTF TableShort Description of the Script
The provided Pine Script indicator, titled "Stochastic RSI with MTF Table," calculates and displays the Stochastic RSI for the current timeframe and multiple other timeframes (5m, 15m, 30m, 60m, 240m, and daily). The Stochastic RSI is a momentum indicator that blends the Relative Strength Index (RSI) and Stochastic Oscillator to identify overbought and oversold conditions, as well as potential trend reversals via K and D line crossovers.
Key features of the script include:
Inputs: Customizable parameters such as K smoothing (default 3), D smoothing (default 3), RSI length (default 14), Stochastic length (default 14), source price (default close), and overbought/oversold levels (default 80/20).
MTF Table: A table displays the Stochastic RSI status for each timeframe:
"OB" (overbought) if K > 80, "OS" (oversold) if K < 20, or "N" (neutral) otherwise.
Crossovers: "K↑D" for bullish (K crosses above D) and "K↓D" for bearish (K crosses below D).
Visualization: Plots the K and D lines for the current timeframe, with horizontal lines at 80 (overbought), 50 (middle), and 20 (oversold), plus a background fill for clarity.
Table Position: Configurable to appear in one of four chart corners (default: top-right).
This indicator helps traders assess momentum across multiple timeframes simultaneously, aiding in the identification of trend strength and potential entry/exit points.
Trading Strategy with 50EMA and 200EMA for Highest Winning Rate
To create a strategy with the best probability of a high winning rate using the Stochastic RSI MTF indicator alongside the 50-period Exponential Moving Average (50EMA) and 200-period Exponential Moving Average (200EMA), we can combine trend identification with momentum-based entry timing. The 50EMA and 200EMA are widely used to determine medium- and long-term trends, while the Stochastic RSI MTF table provides multi-timeframe momentum signals. Here’s the strategy:
1. Determine the Overall Trend
Bullish Trend: The 50EMA is above the 200EMA on the current timeframe (e.g., daily or 60m chart). This suggests an uptrend, often associated with a "Golden Cross."
Bearish Trend: The 50EMA is below the 200EMA on the current timeframe. This indicates a downtrend, often linked to a "Death Cross."
Implementation: Plot the 50EMA and 200EMA on your chart and visually confirm their relative positions.
2. Identify Entry Signals Using the Stochastic RSI MTF Table
In a Bullish Trend (50EMA > 200EMA):
Look for timeframes in the MTF table showing:
Oversold (OS): K < 20, indicating a potential pullback in the uptrend where price may rebound.
Bullish Crossover (K↑D): K crosses above D, signaling rising momentum and a potential entry point.
Example: If the 60m and 240m timeframes show "OS" or "K↑D," this could be a buy signal.
In a Bearish Trend (50EMA < 200EMA):
Look for timeframes in the MTF table showing:
Overbought (OB): K > 80, suggesting a rally in the downtrend where price may reverse downward.
Bearish Crossover (K↓D): K crosses below D, indicating declining momentum and a potential short entry.
Example: If the 30m and daily timeframes show "OB" or "K↓D," this could be a sell/short signal.
Current Timeframe Check: Use the plotted K and D lines on your trading timeframe for precise entry timing (e.g., confirm a K↑D crossover on a 60m chart for a long trade).
3. Confirm Signals Across Multiple Timeframes
Strengthen the Signal: A higher winning rate is more likely when multiple timeframes align with the trend and signal. For instance:
Bullish trend + "OS" or "K↑D" on 60m, 240m, and daily = strong buy signal.
Bearish trend + "OB" or "K↓D" on 15m, 60m, and 240m = strong sell signal.
Prioritize Higher Timeframes: Signals from the 240m or daily timeframe carry more weight due to their indication of broader trends, increasing reliability.
4. Set Stop-Loss and Take-Profit Levels
Long Trades (Bullish):
Stop-Loss: Place below the most recent swing low or below the 50EMA, whichever is closer, to protect against trend reversals.
Take-Profit: Target a key resistance level or use a risk-reward ratio (e.g., 2:1 or 3:1) based on the stop-loss distance.
Short Trades (Bearish):
Stop-Loss: Place above the most recent swing high or above the 50EMA, whichever is closer.
Take-Profit: Target a key support level or apply a similar risk-reward ratio.
Trailing Stop Option: As the trend progresses, trail the stop below the 50EMA (for longs) or above it (for shorts) to lock in profits.
5. Risk Management
Position Sizing: Risk no more than 1-2% of your trading capital per trade to minimize losses from false signals.
Volatility Consideration: Adjust stop-loss distances and position sizes based on the asset’s volatility (e.g., wider stops for volatile stocks or crypto).
Avoid Overtrading: Wait for clear alignment between the EMA trend and MTF signals to avoid low-probability setups.
Example Scenario
Chart: 60-minute timeframe.
Trend: 50EMA > 200EMA (bullish).
MTF Table: 60m shows "OS," 240m shows "K↑D," and daily is "N."
Action: Enter a long position when the 60m K line crosses above D, confirming the table signal.
Stop-Loss: Below the recent 60m swing low (e.g., 2% below entry).
Take-Profit: At the next resistance level or a 3:1 reward-to-risk ratio.
Outcome: High probability of success due to trend alignment and multi-timeframe confirmation.
Why This Strategy Works
Trend Following: Trading in the direction of the 50EMA/200EMA trend reduces the risk of fighting the market’s momentum.
Momentum Timing: The Stochastic RSI MTF table pinpoints pullbacks or reversals within the trend, improving entry timing.
Multi-Timeframe Confirmation: Alignment across timeframes filters out noise, increasing the win rate.
Risk Control: Defined stop-loss and position sizing protect against inevitable losses.
Caveats
No strategy guarantees a 100% win rate; false signals can occur, especially in choppy markets.
Test this strategy on historical data or a demo account to verify its effectiveness for your asset and timeframe.
This approach leverages the strengths of both trend-following (EMA) and momentum (Stochastic RSI) tools, aiming for a high-probability, disciplined trading system.
UTSStrategyHelperLibrary "UTSStrategyHelper"
TODO: add library description here
stopLossPrice(sig, atr, factor, isLong)
Calculates the stop loss price using a distance determined by ATR multiplied by a factor. Example for Long trade SL: PRICE - (ATR * factor).
Parameters:
sig (float)
atr (float) : (float): The value of the atr.
factor (float)
isLong (bool) : (bool): The current trade direction.
Returns: (bool): A boolean value.
takeProfitPrice(sig, atr, factor, isLong)
Calculates the take profit price using a distance determined by ATR multiplied by a factor. Example for Long trade TP: PRICE + (ATR * factor). When take profit price is reached usually 50 % of the position is closed and the other 50 % get a trailing stop assigned.
Parameters:
sig (float)
atr (float) : (float): The value of the atr.
factor (float)
isLong (bool) : (bool): The current trade direction.
Returns: (bool): A boolean value.
trailingStopPrice(initialStopPrice, atr, factor, priceSource, isLong)
Calculates a trailing stop price using a distance determined by ATR multiplied by a factor. It takes an initial price and follows the price closely if it changes in a favourable way.
Parameters:
initialStopPrice (float) : (float): The initial stop price which, for consistency also should be ATR * factor behind price: e.g. Long trade: PRICE - (ATR * factor)
atr (float) : (float): The value of the atr. Ideally the ATR value at trade open is taken and used for subsequent calculations.
factor (float)
priceSource (float) : (float): The current price.
isLong (bool) : (bool): The current trade direction.
Returns: (bool): A boolean value.
hasGreaterPositionSize(positionSize)
Determines if the strategy's position size has grown since the last bar.
Parameters:
positionSize (float) : (float): The size of the position.
Returns: (bool): A boolean value.
hasSmallerPositionSize(positionSize)
Determines if the strategy's position size has decreased since the last bar.
Parameters:
positionSize (float) : (float): The size of the position.
Returns: (bool): A boolean value.
hasUnchangedPositionSize(positionSize)
Determines if the strategy's position size has changed since the last bar.
Parameters:
positionSize (float) : (float): The size of the position.
Returns: (bool): A boolean value.
exporthasLongPosition(positionSize)
Determines if the strategy has an open long position.
Parameters:
positionSize (float) : (float): The size of the position.
Returns: (bool): A boolean value.
hasShortPosition(positionSize)
Determines if the strategy has an open short position.
Parameters:
positionSize (float) : (float): The size of the position.
Returns: (bool): A boolean value.
hasAnyPosition(positionSize)
Determines if the strategy has any open position, regardless of short or long.
Parameters:
positionSize (float) : (float): The size of the position.
Returns: (bool): A boolean value.
hasSignal(value)
Determines if the given argument contains a valid value (means not 'na').
Parameters:
value (float) : (float): The actual value.
Returns: (bool): A boolean value.
Camarilla Pivot Plays█ OVERVIEW
This indicator implements the Camarilla Pivot Points levels and a system for suggesting particular plays. It only calculates and shows the 3rd, 4th, and 6th levels, as these are the only ones used by the system. In total, there are 12 possible plays, grouped into two groups of six. The algorithm constantly evaluates conditions for entering and exiting the plays and indicates them in real time, also triggering user-configurable alerts.
█ CREDITS
The Camarilla pivot plays are defined in a strategy developed by Thor Young, and the whole system is explained in his book "A Complete Day Trading System" . The indicator is published with his permission, and he is a user of it. The book is not necessary in order to understand and use the indicator; this description contains sufficient information to use it effectively.
█ FEATURES
Automatically draws plays, suggesting an entry, stop-loss, and maximum target
User can set alerts on chosen ticker to call these plays, even when not currently viewing them
Highly configurable via many options
Works for US/European stocks and US futures (at least)
Works correctly on both RTH and ETH charts
Automatically switches between RTH and ETH data
Optionally also shows the "other" set of pivots (RTH vs ETH data)
Configurable behaviour in the pre-market, not active in the post-market
Configurable sensitivity of the play detection algorithm
Can also show weekly and monthly Camarilla pivots
Well-documented options tooltips
Sensible defaults which are suitable for immediate use
Well-documented and high-quality open-source code for those who are interested
█ HOW TO USE
The defaults work well; at a minimum, just add the indicator and watch the plays being called. To avoid having to watch securities, by selecting the three dots next to the indicator name, you can set an alert on the indicator and choose to be alerted on play entry or exit events—or both. The following diagram shows several plays activated in the past (with the "Show past plays" option selected).
By default, the indicator draws plays 5 days back; this can be changed up to 20 days. The labels can be shifted left/right using the "label offset" option to avoid overlapping with other labels in this indicator or those of another indicator.
An information box at the top-right of the chart shows:
The data currently in use for the main pivots. This can switch in the pre-market if the H/L range exceeds the previous day's H/L, and if it does, you will see that switch at the time that it happens
Whether the current day's pivots are in a higher or lower range compared to the previous day's. This is based on the RTH close, so large moves in the post-market won't be reflected (there is an advanced option to change this)
The width of the value relationship in the current day compared to the previous day
The currently active play. If multiple plays are active in parallel, only the last activated one is shown
The resistance pivots are all drawn in the same colour (red by default), as are the support pivots (green by default). You can change the resistance and support colours, but it is not possible to have different colours for different levels of the same kind. Plays will always use the correct colour, drawing over the pivots. For example, R4 is red by default, but if a play treats R4 as a support, then the play will draw a green line (by default) over the red R4 line, thereby hiding it while the play is active.
There are a few advanced parameters; leave these as default unless you really know what they do. Please note the script is complicated—it does a lot. You might need to wait a few seconds while it (re)calculates on new tickers or when changing options. Give it time when first loading or changing options!
█ CONCEPTS
The indicator is focused around daily Camarilla pivots and implements 12 possible plays: 6 when in a higher range, 6 when in a lower range. The plays are labelled by two letters—the first indicates the range, the second indicates the play—as shown in this diagram:
The pivots can be calculated using only RTH (Regular Trading Hours) data, or ETH (Extended Trading Hours) data, which includes the pre-market and post-market. The indicator implements logic to automatically choose the correct data, based on the rules defined by the strategy. This is user-overridable. With the default options, ETH will be used when the H/L range in the previous day's post-market or current day's pre-market exceeds that of the previous day's regular market. In auto mode, the chosen pivots are considered the main pivots for that day and are the ones used for play evaluation. The "other" pivots can also be shown—"other" here meaning using ETH data when the main pivots use RTH data, and vice versa.
When displaying plays in the pre-market, since the RTH open is not yet known (and that value is needed to evaluate play pre-conditions), the pre-market open is used as a proxy for the RTH open. After the regular market opens, the correct RTH open is used to evaluate play conditions.
█ NOTE FOR FUTURES
Futures always use full ETH data in auto mode. Users may, however, wish to use the option "Always use RTH close," which uses the 3 p.m. Central Time (CME/Chicago) as a basis for the close in the pivot calculations (instead of the 4 p.m. actual close).
Futures don't officially have a pre-market or post-market like equities. Let's take ES on CME as an example (CME is in Chicago, so all times are Central Time, i.e., 1 hour behind Eastern Time). It trades from 17:00 Sunday to 16:00 Friday, with a daily pause between 16:00 and 17:00. However, most of the trading activity is done between 08:30 and 15:00 (Central), which you can tell from the volume spikes at those times, and this coincides with NYSE/NASDAQ regular hours (09:30–16:00 Eastern). So we define a pseudo-pre-market from 17:00 the previous day to 08:30 on the current day, then a pseudo-regular market from 08:30 to 15:00, then a pseudo-post-market from 15:00 to 16:00.
The indicator then works exactly the same as with equities—all the options behave the same, just with different session times defined for the pre-, regular, and post-market, with "RTH" meaning just the regular market and "ETH" meaning all three. The only difference from equities is that the auto calculation mode always uses ETH instead of switching based on ETH range compared to RTH range. This is so users who just leave all the defaults are not confused by auto-switching of the calculation mode; normally you'll want the pivots based on all the (ETH) data. However, both "Force RTH" and "Use RTH close with ETH data" work the same as with equities—so if, in the calculations, you really want to only use RTH data, or use all ETH H/L data but use the RTH close (at 15:00), you can.
█ LIMITATIONS
The pivots are very close to those shown in DAS Trader Pro. They are not to-the-cent exact, but within a few cents. The reasons are:
TradingView uses real-time data from CBOE One, so doesn't have access to full exchange data (unless you pay for it in TradingView), and
the close/high/low are taken from the intraday timeframe you are currently viewing, not daily data—which are very close, but often not exactly the same. For example, the high on the daily timeframe may differ slightly from the daily high you'll see on an intraday timeframe.
I have occasionally seen larger than a few cents differences in the pivots between these and DAS Trader Pro—this is always due to differences in data, for example a big spike in the data in TradingView but not in DAS Trader Pro, or vice versa. The more traded the stock is, the less the difference tends to be. Highly traded stocks are usually within a few cents. Less traded stocks may be more (for example, 30¢ difference in R4 is the highest I've seen). If it bothers you, official NYSE/NASDAQ data in TradingView is quite inexpensive (but even that doesn't make the 8am candle identical).
The 6th Camarilla level does not have a standard definition and may not match the level shown on other platforms. It does match the definition used by DAS Trader Pro.
The indicator is an intraday indicator (despite also being able to show weekly and monthly pivots on an intraday chart). It deactivates on a daily timeframe and higher. It is untested on sub-minute timeframes; you may encounter runtime errors on these due to various historical data referencing issues. Also, the play detection algorithm would likely be unpredictable on sub-minute timeframes. Therefore, sub-minute timeframes are formally unsupported.
The indicator was developed and tested for US/European stocks and US futures. It may or may not work as intended for stocks and futures in different locations. It does not work for other security types (e.g., crypto), where I have no evidence that the strategy has any relevance.
Best SMA FinderThis script, Best SMA Finder, is a tool designed to identify the most robust simple moving average (SMA) length for a given chart, based on historical backtest performance. It evaluates hundreds of SMA values (from 10 to 1000) and selects the one that provides the best balance between profitability, consistency, and trade frequency.
What it does:
The script performs individual backtests for each SMA length using either "Long Only" or "Buy & Sell" logic, as selected by the user. For each tested SMA, it computes:
- Total number of trades
- Profit Factor (total profits / total losses)
- Win Rate
- A composite Robustness Score, which integrates Profit Factor, number of trades (log-scaled), and win rate.
Only SMA configurations that meet the user-defined minimum trade count are considered valid. Among all valid candidates, the script selects the SMA length with the highest robustness score and plots it on the chart.
How to use it:
- Choose the strategy type: "Long Only" or "Buy & Sell"
- Set the minimum trade count to filter out statistically irrelevant results
- Enable or disable the summary stats table (default: enabled)
The selected optimal SMA is plotted on the chart in blue. The optional table in the top-right corner shows the corresponding SMA length, trade count, Profit Factor, Win Rate, and Robustness Score for transparency.
Key Features:
- Exhaustive SMA optimization across 991 values
- Customizable trade direction and minimum trade filters
- In-chart visualization of results via table and plotted optimal SMA
- Uses a custom robustness formula to rank SMA lengths
Use cases:
Ideal for traders who want to backtest and auto-select a historically effective SMA without manual trial-and-error. Useful for swing and trend-following strategies across different timeframes.
📌 Limitations:
- Not a full trading strategy with position sizing or stop-loss logic
- Only one entry per direction at a time is allowed
- Designed for exploration and optimization, not as a ready-to-trade system
This script is open-source and built entirely from original code and logic. It does not replicate any closed-source script or reuse significant external open-source components.
Change in State of Delivery (CISD) [SB Instant]🧠 Modified by SB | Core Logic by LuxAlgo
🔗 Licensed under CC BY-NC-SA 4.0
Change in State of Delivery (CISD) is a concept rooted in observing shifts in order flow behavior, designed to detect the first signs of trend exhaustion and potential reversal. This model tracks when the current delivery (trend) structure — bullish or bearish — is violated by an opposing force, signaling a potential change in market intent.
In simple terms:
A Bullish CISD is triggered when sellers fail to maintain control, and buyers break above a delivery line.
A Bearish CISD is triggered when buyers fail, and sellers break below a delivery line.
This version uses real-time logic, triggering alerts immediately on break, rather than waiting for candle-close confirmation — giving faster, actionable signals to precision-driven traders.
⚙️ Core Features
Detection Modes
Classic: Traditional swing-based structural break detection
Liquidity Sweep: Logic incorporating wick sweeps (liquidity grabs)
Custom Parameters
Swing Length: Number of candles used to identify swing points
Minimum CISD Duration: Minimum length required for valid delivery phase
Maximum Swing Validity: How long the structure remains valid for potential breaks
Visual Options
Label and line styling options
Solid line = Initial break of delivery structure
Dashed line = Continuation break in the same trend direction
This allows you to visually differentiate a new reversal vs. a continuation of the existing trend.
🚨 Built-in Alerts
Bullish CISD Detected (Instant)
Bearish CISD Detected (Instant)
These alerts fire immediately when structure is broken, offering early confirmation for aggressive or reactive trade setups.
🔔 IMPORTANT:
If an alert triggers but the delivery line is not present, wait for the price to form the CISD label again and manually mark the price level using a horizontal ray. This ensures you are trading from a clearly defined structure.
🕒 Recommended Timeframes
✅ Use 30-Minute or 4-Hour charts to identify high-confidence CISD zones
🎯 Then drop to the 1-Minute or 5-Minute chart for precise entry execution
This top-down approach aligns higher timeframe narrative with lower timeframe entry triggers, increasing your edge in both timing and context.
🧠 How to Use CISD Effectively
Bullish Scenario:
Watch for breaks above bearish delivery structures, especially if confirmed with:
Fair Value Gaps (FVG)
The Strat 2-2 reversal
MSS (Market Structure Shift)
Bearish Scenario:
Look for breaks below bullish delivery setups in alignment with:
BOS (Break of Structure)
The Strat 3-1-2
Bearish liquidity sweeps
Key Tip:
Solid line = Initial CISD (new shift)
Dashed line = Continuation of current trend
This visual distinction helps you determine when a market is shifting vs. extending.
📎 Disclaimer
This tool is provided for educational purposes only and is not intended as financial advice. Always backtest, paper trade, and manage risk responsibly.
📚 Credits
Original CISD framework developed by LuxAlgo
Real-time execution logic, alert enhancements, and intraday utility designed by SB (SamB)
BTC Daily DCA CalculatorThe BTC Daily DCA Calculator is an indicator that calculates how much Bitcoin (BTC) you would own today by investing a fixed dollar amount daily (Dollar-Cost Averaging) over a user-defined period. Simply input your start date, end date, and daily investment amount, and the indicator will display a table on the last candle showing your total BTC, total invested, portfolio value, and unrealized yield (in USD and percentage).
Features
Customizable Inputs: Set the start date, end date, and daily dollar amount to simulate your DCA strategy.
Results Table: Displays on the last candle (top-right of the chart) with:
Total BTC: The accumulated Bitcoin from daily purchases.
Total Invested ($): The total dollars invested.
Portfolio Value ($): The current value of your BTC holdings.
Unrealized Yield ($): Your profit/loss in USD.
Unrealized Yield (%): Your profit/loss as a percentage.
Visual Markers: Green triangles below the chart mark each daily investment.
Overlay on Chart: The table and markers appear directly on the BTCUSD price chart for easy reference.
Daily Timeframe: Designed for Daily (1D) charts to ensure accurate calculations.
How to Use
Add the Indicator: Apply the indicator to a BTCUSD chart (e.g., Coinbase:BTCUSD, Binance:BTCUSDT).
Set Daily Timeframe: Ensure your chart is on the Daily (1D) timeframe, or the script will display an error.
Configure Inputs: Open the indicator’s Settings > Inputs tab and set:
Start Date: When to begin the DCA strategy (e.g., 2024-01-01).
End Date: When to end the strategy (e.g., 2025-04-27 or earlier).
Daily Investment ($): The fixed dollar amount to invest daily (e.g., $100).
View Results: Scroll to the last candle in your date range to see the results table in the top-right corner of the chart. Green triangles below the bars indicate investment days.
Settings
Start Date: Choose the start date for your DCA strategy (default: 2024-01-01).
End Date: Choose the end date (default: 2025-04-27). Must be after the start date and within available chart data.
Daily Investment ($): Set the daily investment amount (default: $100). Minimum is $0.01.
Notes
Timeframe: The indicator requires a Daily (1D) chart. Other timeframes will trigger an error.
Data: Ensure your BTCUSD chart has historical data for the selected date range. Use reliable pairs like Coinbase:BTCUSD or Binance:BTCUSDT.
Limitations: Does not account for trading fees or slippage. Future dates (beyond the current date) will not display results.
Performance: Works best with historical data. Free TradingView accounts may have limited historical data; consider premium for longer ranges.